USE [MCGA]

GO

DROP TABLE [dbo].[Detalle]
DROP TABLE [dbo].[Sucursal]
DROP TABLE [dbo].[Zona]
DROP TABLE [dbo].[Servicio]
DROP TABLE [dbo].[Instrumento]
DROP TABLE [dbo].[Cabecera]
DROP TABLE [dbo].[Cliente]

GO

USE [MCGA]

GO

CREATE TABLE [dbo].[Cliente](
    IdCliente int IDENTITY (1,1) NOT NULL,
    Nombre varchar(25),
    Apellido varchar(25),
    RazonSocial varchar(50),
    Telefono int,
    Celular int,
    Tipo bit,
    CONSTRAINT Pk_IdCliente PRIMARY KEY (IdCliente)
)

GO

CREATE TABLE [dbo].[Zona](
	Id int  IDENTITY (1,1) NOT NULL,
	Nombre varchar(50) NOT NULL
	CONSTRAINT Pk_ZonaID PRIMARY KEY (Id)
)

GO

CREATE TABLE [dbo].[Cabecera](
	IdCabecera int IDENTITY (1,1) NOT NULL,
	Numero int NOT NULL,
	IdCliente int NOT NULL,
	Fecha date NOT NULL
	CONSTRAINT Pk_CabeceraID PRIMARY KEY (IdCabecera)
    CONSTRAINT Fk_ClienteCabecera FOREIGN KEY (IdCliente)
    REFERENCES Cliente(IdCliente)	
) 

GO

CREATE TABLE [dbo].[Sucursal](
	Id int IDENTITY (1,1) NOT NULL,
	Nombre varchar(25) NOT NULL,
	Direccion varchar(50) NOT NULL,
	IdZona int NOT NULL,
    Coordinadora bit NOT NULL
	CONSTRAINT Pk_SucursalID PRIMARY KEY (Id)
    CONSTRAINT Fk_SucursalZona FOREIGN KEY (IdZona)
    REFERENCES Zona(Id)
)

GO

CREATE TABLE [dbo].[Detalle](
	IdDetalle int IDENTITY (1,1) NOT NULL,
	IdCabecera int NOT NULL,
	Cantidad int NOT NULL,
	Descripcion varchar(250) NOT NULL,
	Precio numeric(10, 2) NOT NULL
	CONSTRAINT Pk_DetalleID PRIMARY KEY (IdDetalle)
    CONSTRAINT Fk_DetalleCabecera FOREIGN KEY (IdCabecera)
    REFERENCES Cabecera(IdCabecera)
)

GO

CREATE TABLE [dbo].[Instrumento](
    IdInstrumento int IDENTITY (1,1) NOT NULL,
    IdCliente int NOT NULL,
    Tipo varchar(25) NOT NULL
    CONSTRAINT Pk_InstrumentoID PRIMARY KEY (IdInstrumento)
    CONSTRAINT Fk_InstrumentoCliente FOREIGN KEY (IdCliente)
    REFERENCES Cliente(IdCliente)	
)

GO

CREATE TABLE [dbo].[Servicio](
    IdServicio int IDENTITY (1,1) NOT NULL,
    Descripcion varchar(250) NOT NULL,
    Precio numeric(10,2) NOT NULL,
    Fecha date, 
    IdInstrumento int NOT NULL
    CONSTRAINT Pk_ServicioID PRIMARY KEY (IdServicio)
    CONSTRAINT Fk_ServicioInstrumento FOREIGN KEY (IdInstrumento)
    REFERENCES Instrumento(IdInstrumento)
)